<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <script>
      /*  //求数组的最大值，最小值，和，积，平均值
        var arr=[1,3,5,2,8,7,6,9];
        //1 最大值
        var max=arr[0];
        for(var i=0;i<arr.length;i++){
        	if(max<arr[i]){
        		max=arr[i];
        	}
        }
        console.log('max='+max);
        //2 最小值
        var min=arr[0];
        for(var i=0;i<arr.length;i++){
        	if(min>arr[i]){
        		min=arr[i];
        	}
        }
        console.log('min='+min);
        //3 求和
        var sum=0;
        for(var i=0;i<arr.length;i++){
        	sum+=arr[i];
        }
        console.log('sum='+sum);
        //4 求乘积
        var cross=1;
        for(var i=0;i<arr.length;i++){
        	cross*=arr[i];
        }
        console.log('cross='+cross);*/

        //方法一
        /*function each(arr,statement){
        	for(var i=0;i<arr.length;i++){
        		//statement 执行
        		//new Function('...')
        		//eval(...)
        		//(new Function('index',statement))(i);
        		//这种方法相当于
        		// (function(index){
        		// 	if(max<arr[index]){max=arr[index];}
        		// })(i);
        		
        		//可以执行的函数

        	}
        }
         // each( arr, 'if ( max < arr[ index ] ) { max = arr[ index ]; }' );
        */
        //方法二 传入回调函数
        function each(arr,callback){
        	for(var i=0;i<arr.length;i++){
        		callback(arr[i],i);
        	}
        }
        var arr=[ 1, 3, 5, 2, 8, 7, 6, 9 ];
        //求最大值
        var max=arr[0];
        each(arr,function(v,i){
        	if(max<v){
        		max=v;
        	}
        });
        console.log(max);

        //用方法一传入字符串写有一些问题
        //1 应该在字符串中写什么变量？哪些变量可以用，哪些变量不可以用？这是不清楚的
        //2 如果方法体很长，这样写无法维护
        //所以需要重新考虑封装
    </script>
    </body>
</html>